package com.probox.common.entity.service.product;

import java.util.HashMap;
import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.probox.product.api.domain.ProductCommentApiVo;
import com.probox.common.entity.domain.product.ProductComment;
import com.probox.common.entity.domain.product.vo.ProductCommentQuery;
import com.probox.common.entity.domain.product.vo.ProductCommentVo;

/**
 * 商品评论信息Service接口
 *
 * @date 2021-06-07
 */
public interface IProductCommentService extends IService<ProductComment> {


    /**
     * 查询商品评论信息
     *
     * @param commentUid 商品评论信息ID
     * @return 商品评论信息
     */
    public ProductComment selectProductCommentById(Long commentUid);


    /**
     * 查询商品评论信息列表
     *
     * @param productCommentQuery 商品评论信息
     * @return 商品评论信息
     */
    public List<ProductCommentVo> queryList(ProductCommentQuery productCommentQuery);


    /**
     * 新增商品评论信息
     *
     * @param vo 商品评论信息
     * @return 结果
     */
    public boolean insertProductComment(List<ProductCommentApiVo> volist);

    /**
     * 修改商品评论信息
     *
     * @param productComment 商品评论信息
     * @return 结果
     */
    public boolean updateProductComment(ProductComment productComment);

    /**
     * 批量删除商品评论信息
     *
     * @param commentUids 需要删除的商品评论信息ID
     * @return 结果
     */
    public boolean deleteProductCommentByIds(Long[] commentUids);

    /**
     * api 获取总条数
     *
     * @param productCommentQuery
     * @return
     */
    public Integer queryListCount(ProductCommentQuery productCommentQuery);

    /**
     * 获得商品评论的筛选标签以及每种标签的数量
     *
     * @param productUid
     * @return
     */
    public List<HashMap> getCommentNum(Long productUid);

    public boolean updateComment(ProductComment productComment);
}
